Relevance feedback: il feedback che l’utente da sulla rilevanza dei documenti restituiti da una query, in modo da migliorare le ricerche successive
L’applicazione del relevance feedback al modello vettoriale assume che i documenti rilevanti presentino alcune similitudini tra essi. L’idea di base è di riformulare la query in modo da spostare il suo vettore verso i vettori dei termini dei documenti rilevanti nello spazio vettoriale e allontanarla dai vettori dei termini dei documenti non rilevanti.
Centroid: centro di un set di punti: \vec{\mu}(C) = \dfrac{1}{|C|} \cdot \displaystyle \sum_{d \in C} \vec{d}, dove C è il set di documenti
Algoritmo di Rocchio:
Consideriamo la situazione ideale, ma irreale, in cui l’intero insieme C_r dei documenti rilevanti per una data query q sia conosciuta a priori. In una situazione simile, si può dimostrare che la query migliore per distinguere tutti i documenti rilevanti da tutti i documenti non rilevanti è data dalla seguente formula: \vec{q_{opt}} = \left( \dfrac{1}{|C_r|} \displaystyle \sum_{d_j \in C_r} \vec{d_j}\right) - \left( \dfrac{1}{N - |C_r|} \displaystyle \sum_{d_j \not \in C_r} \vec{d_j}\right), dove C_r è l’insieme dei documenti rilevanti tra TUTTI i documenti della collezione, e N è il numero dei documenti di TUTTA la collezione. La formula prende quindi il centroide dei documenti rilevanti e lo scala con il peso dei termini dei documenti non rilevanti
Un metodo classico e realistico di calcolare la query modificata q_m prende il nome di metodo di Rocchio ed è definito come segue: \vec{q_m} = \alpha \vec{q} + \left( \dfrac{\beta}{N_r} \displaystyle \sum_{\vec{d_j} \in D_r} \vec{d_j}\right) - \left( \dfrac{\gamma}{N_n} \displaystyle \sum_{\vec{d_j} \in D_n} \vec{d_j}\right)
\alpha, \beta, \gamma sono dei pesi. Se ho un \alpha molto maggiore sto dando enfasi alla query originale, se \beta è di molto maggiore sto considerando di più il feedback sui documenti positivi, stessa cosa con i documenti negativi per \gamma.
q_0 è la query iniziale
D_r è l’insieme dei documenti rilevanti tra i documenti ritrovati
D_n è l’insieme dei documenti non rilevanti tra i documenti ritrovati
N_r è len(D_r)
N_n è len(D_n)
Di solito si utilizzano \alpha = 1, \beta = 0.75, \gamma = 0.25, ma sono a scelta libera a seconda della strategia che si vuole adottare
Problemi:
Il relevance feedback raramente può contare sulla collaborazione degli utenti, essi, infatti, sono riluttanti nel fornire il feedback richiesto.
Le lunghe query generate dall’applicazione di metodi di relevance feedback sono inefficienti: va considerato che una query composta da anche un solo termine, può essere modificata in una query di centinaia di termini, ognuno con un suo peso. Ciò si traduce in un elevato costo di computazione per il ritrovamento dei documenti (ricerca ed elaborazione delle posting list di ogni termine) e tempi di risposta potenzialmente lunghi per l’utente.
Soluzione: considerare solo i termini più importanti presenti nella query modificata.
Valutazione delle strategie di relevance feedback: empiricamente un ciclo di feedback di rilevanza è spesso molto utile, un secondo ciclo è marginalmente più utile.
Il metodo “migliore” è quello di ricavare due collezioni di documenti, una delle quali è utilizzata per l’interrogazione iniziale e per ricevere i giudizi di rilevanza da parte dell’utente, la seconda collezione viene poi utilizzata per testare la query modificata. Le prestazioni possono essere così validamente confrontate sulla seconda collezione.
Forse il miglior modo per valutare l’utilità del relevance feedback consiste nell’effettuare un confronto basato sul tempo: quanti documenti rilevanti un utente trova in un certo lasso di tempo. Tale nozione di utilità per l’utente è più vicina all’utilizzo reale del sistema
Pseudo Relevance Feedback: l’idea è quella di applicare retrieval normale per trovare un insieme iniziale di documenti più rilevanti, per poi supporre che i top k documenti siano rilevanti, e dunque fare relevance feedback sotto questa ipotesi. Questa tecnica funziona molto bene in media, ma se i documenti risultanti dalla fase di retrieval sono poco rilevanti per la query, allora i risultati tenderanno a peggiorare notevolmente.
Indirect Relevance Feedback: un metodo per utilizzare il feedback implicito consiste nel porre in cima ai risultati i documenti visitati più spesso (o cliccati) dagli utenti. In altre parole, i clic sui link sono considerati un indice di rilevanza per la query.